For purposes of developing an application, various tasks related to developing features of the application may be assigned to different programmers and programming teams. For example, a given programming team may be assigned a task of creating a login feature for the application, and another programming team may be assigned a task of creating a user search feature for the application. Although the tasks may be assigned to multiple programming teams, the progress of a given task may affect the progress of one or more of the other tasks, as various features of the application may be directly or indirectly related to each other.